java

推荐列表 站点导航

当前位置:首页 > 脚本编程 > java >

java加载properties文件的六种方法总结

来源:互联网  作者:网友投稿  发布时间:2021-01-06 21:06
这篇文章主要介绍了java加载properties文件的六种方法总结的相关资料,需要的朋友可以参考下...

java加载properties文件的六种方法总结

java加载properties文件的六中基本方式实现

java加载properties文件的方式主要分为两大类:一种是通过import java.util.Properties类中的load(InputStream in)方法加载;

另一种是通过import java.util.ResourceBundle类的getBundle(String baseName)方法加载。

注意:一定要区分路径格式

实现代码如下:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

 

package com.util;

 

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.IOException;

import java.io.InputStream;

import java.util.Properties;

import java.util.PropertyResourceBundle;

import java.util.ResourceBundle;

 

public class PropertiesUtil {

  private static String basePath = "src/prop.properties";

  private static String name = "";

  private static String nickname = "";

  private static String password = "";

 

  /**

   * 一、 使用java.util.Properties类的load(InputStream in)方法加载properties文件

   *

   */

  public static String getName1() {

    try {

      Properties prop = new Properties();

      InputStream is = new FileInputStream(basePath);

      prop.load(is);

      name = prop.getProperty("username");

    } catch (FileNotFoundException e) {

      e.printStackTrace();

    } catch (IOException e) {

      e.printStackTrace();

    }

    return name;

  }

 

  /**

   * 二、 使用class变量的getResourceAsStream()方法

   * 注意:getResourceAsStream()读取路径是与本类的同一包下

   *

   */

  public static String getName2() {

    Properties prop = new Properties();

    InputStream is = PropertiesUtil.class

        .getResourceAsStream("/com/util/prop.properties");

    try {

      prop.load(is);

      name = prop.getProperty("username");

    } catch (IOException e) {

      e.printStackTrace();

    }

    return name;

  }

 

  /**

   * 三、

   * 使用class.getClassLoader()所得到的java.lang.ClassLoader的getResourceAsStream()方法

   * getResourceAsStream(name)方法的参数必须是包路径+文件名+.后缀 否则会报空指针异常

   *

   */

  public static String getName3() {

    Properties prop = new Properties();

    InputStream is = PropertiesUtil.class.getClassLoader()

        .getResourceAsStream("com/util/prop.properties");

    try {

      prop.load(is);

 

    } catch (IOException e) {

      e.printStackTrace();

    }

    return name;

  }

 

  /**

   * 四、 使用java.lang.ClassLoader类的getSystemResourceAsStream()静态方法

   * getSystemResourceAsStream()方法的参数格式也是有固定要求的

   *

   */

  public static String getName4() {

    Properties prop = new Properties();

    InputStream is = ClassLoader

        .getSystemResourceAsStream("com/util/prop.properties");

    try {

      prop.load(is);

      name = prop.getProperty("username");

    } catch (IOException e) {

      e.printStackTrace();

    }

    return name;

  }

 

  /**

   * 五、 使用java.util.ResourceBundle类的getBundle()方法

   * 注意:这个getBundle()方法的参数只能写成包路径+properties文件名,否则将抛异常

   *

   */

  public static String getName5() {

    ResourceBundle rb = ResourceBundle.getBundle("com/util/prop");

    password = rb.getString("password");

    return password;

  }

 

  /**

   * 六、 使用java.util.PropertyResourceBundle类的构造函数

   *

   */

  public static String getName6() {

    try {

      InputStream is = new FileInputStream(basePath);

      ResourceBundle rb = new PropertyResourceBundle(is);

      nickname = rb.getString("nickname");

    } catch (FileNotFoundException e) {

      e.printStackTrace();

    } catch (IOException e) {

      e.printStackTrace();

    }

 

    return nickname;

  }

 

  /**

   * 测试

   *

   */

  public static void main(String[] args) {

    System.out.println("name1:" + PropertiesUtil.getName1());

    System.out.println("name2:" + PropertiesUtil.getName2());

    System.out.println("name3:" + PropertiesUtil.getName3());

    System.out.println("name4:" + PropertiesUtil.getName4());

    System.out.println("password:" + PropertiesUtil.getName5());

    System.out.println("nickname:" + PropertiesUtil.getName6());

  }

}

 

文件路径:

java加载properties文件的六种方法总结

prop.properties文件:

?

1

2

3

 

1 username=mamama

2 nickname=xiaoma

3 password=123456

 

输出结果:

java加载properties文件的六种方法总结

相关热词:

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://v30.fanwenzhu.com/jiaob/java/11597.shtml

Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

java加载properties文件的六种方法总结

2021-01-06 编辑:网友投稿

java加载properties文件的六种方法总结

java加载properties文件的六中基本方式实现

java加载properties文件的方式主要分为两大类:一种是通过import java.util.Properties类中的load(InputStream in)方法加载;

另一种是通过import java.util.ResourceBundle类的getBundle(String baseName)方法加载。

注意:一定要区分路径格式

实现代码如下:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

 

package com.util;

 

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.IOException;

import java.io.InputStream;

import java.util.Properties;

import java.util.PropertyResourceBundle;

import java.util.ResourceBundle;

 

public class PropertiesUtil {

  private static String basePath = "src/prop.properties";

  private static String name = "";

  private static String nickname = "";

  private static String password = "";

 

  /**

   * 一、 使用java.util.Properties类的load(InputStream in)方法加载properties文件

   *

   */

  public static String getName1() {

    try {

      Properties prop = new Properties();

      InputStream is = new FileInputStream(basePath);

      prop.load(is);

      name = prop.getProperty("username");

    } catch (FileNotFoundException e) {

      e.printStackTrace();

    } catch (IOException e) {

      e.printStackTrace();

    }

    return name;

  }

 

  /**

   * 二、 使用class变量的getResourceAsStream()方法

   * 注意:getResourceAsStream()读取路径是与本类的同一包下

   *

   */

  public static String getName2() {

    Properties prop = new Properties();

    InputStream is = PropertiesUtil.class

        .getResourceAsStream("/com/util/prop.properties");

    try {

      prop.load(is);

      name = prop.getProperty("username");

    } catch (IOException e) {

      e.printStackTrace();

    }

    return name;

  }

 

  /**

   * 三、

   * 使用class.getClassLoader()所得到的java.lang.ClassLoader的getResourceAsStream()方法

   * getResourceAsStream(name)方法的参数必须是包路径+文件名+.后缀 否则会报空指针异常

   *

   */

  public static String getName3() {

    Properties prop = new Properties();

    InputStream is = PropertiesUtil.class.getClassLoader()

        .getResourceAsStream("com/util/prop.properties");

    try {

      prop.load(is);

 

    } catch (IOException e) {

      e.printStackTrace();

    }

    return name;

  }

 

  /**

   * 四、 使用java.lang.ClassLoader类的getSystemResourceAsStream()静态方法

   * getSystemResourceAsStream()方法的参数格式也是有固定要求的

   *

   */

  public static String getName4() {

    Properties prop = new Properties();

    InputStream is = ClassLoader

        .getSystemResourceAsStream("com/util/prop.properties");

    try {

      prop.load(is);

      name = prop.getProperty("username");

    } catch (IOException e) {

      e.printStackTrace();

    }

    return name;

  }

 

  /**

   * 五、 使用java.util.ResourceBundle类的getBundle()方法

   * 注意:这个getBundle()方法的参数只能写成包路径+properties文件名,否则将抛异常

   *

   */

  public static String getName5() {

    ResourceBundle rb = ResourceBundle.getBundle("com/util/prop");

    password = rb.getString("password");

    return password;

  }

 

  /**

   * 六、 使用java.util.PropertyResourceBundle类的构造函数

   *

   */

  public static String getName6() {

    try {

      InputStream is = new FileInputStream(basePath);

      ResourceBundle rb = new PropertyResourceBundle(is);

      nickname = rb.getString("nickname");

    } catch (FileNotFoundException e) {

      e.printStackTrace();

    } catch (IOException e) {

      e.printStackTrace();

    }

 

    return nickname;

  }

 

  /**

   * 测试

   *

   */

  public static void main(String[] args) {

    System.out.println("name1:" + PropertiesUtil.getName1());

    System.out.println("name2:" + PropertiesUtil.getName2());

    System.out.println("name3:" + PropertiesUtil.getName3());

    System.out.println("name4:" + PropertiesUtil.getName4());

    System.out.println("password:" + PropertiesUtil.getName5());

    System.out.println("nickname:" + PropertiesUtil.getName6());

  }

}

 

文件路径:

java加载properties文件的六种方法总结

prop.properties文件:

?

1

2

3

 

1 username=mamama

2 nickname=xiaoma

3 password=123456

 

输出结果:

java加载properties文件的六种方法总结

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://v30.fanwenzhu.com/jiaob/java/11597.shtml

相关文章

风云图片

推荐阅读

返回java频道首页